<?php
// +----------------------------------------------------------------------
// | Author: 六牛科技 <http://liuniukeji.com> 2019-5-23
// +----------------------------------------------------------------------

// 应用公共文件

/**
 * 包含共同函数库, 不可删除, 删除后系统将无法使用
 * 函数数包含常用函数及系统函数, 系统函数开发中不会被调用
 * 常函数包括:
 */
include_once("common_uncode.php");
include_once("common_custom.php");

//用于测试打印数组数据
function p($arr) {
    header('content-type:text/html;charset=utf-8');
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
}

/**
 * 分析数组及枚举类型配置值 格式 a:名称1,b:名称2
 * 将字符串转化为数组
 * @return array
 */
function parse_config_attr($string) {

    $array = preg_split('/[,;\r\n]+/', trim($string, ",;\r\n"));

    if (strpos($string, ':')) {
        $value = [];
        foreach ($array as $val) {
            list($k, $v) = explode(':', $val);
            $value[$k] = $v;
        }
    } else {
        $value = $array;
    }

    return $value;
}

/**
 * 获取随机位数字符串
 * @param integer $len 长度
 * @param integer $has_num 是否包含数字
 * @return string
 */
function rand_str($len = 4, $has_num = 1) {
    $str = $has_num ? 'abcdefghijklmnopqistuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
        : 'abcdefghijklmnopqistuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $str_len = $has_num ? 62 : 52;
    $chars = str_repeat($str, $str_len);
    $chars = str_shuffle($chars);
    $str = substr($chars, 0, $len);
    return $str;
}

/**
 * 检查手机号码格式
 */
function check_mobile($mobile) {
    if (!empty($mobile)) {
        if (preg_match("/^1[3456789]\d{9}$/", $mobile)) {
            return true;
        }
    }
    return false;
}

/**
 * 可用状态的名称
 * @param int $usable: 可用的状态, 0->禁用, 1->正常
 * @return string 正常或禁用
 */
function usable_label($usable = 1) {
    return $usable == 1 ? '正常' : '禁用';
}

/**
 * 是否状态的名称
 * @param int $is: 是否两种状态, 0->否,1->是
 * @return string 是或否
 */
function is_label($is = 1) {
    return $is == 1 ? '是' : '否';
}

/**
 * 性别的名称
 * @param int $sex: 是否两种状态, 0->否,1->是
 * @return string 是或否
 */
function sex_label($sex = 1) {
    $label = '未知';
    if ($sex == 1) $label = '男';
    else if ($sex == 2) $label = '女';

    return $label;
}

/**
 * 员工状态的名称
 * @param int $sex: 是否两种状态, 1->在职,2->离职
 * @return string 在职或离职
 */
function employees_label($employees_status = 1) {
    return $employees_status == 1 ? '在职' : '离职';
}

/**
 * 合同状态
 * @param int $contract_status: 3种状态0未签1已签2待续签
 * @return string 未签、已签、待续签
 */
function contract_label($contract_status = 0) {

    if ($contract_status == 0) $label = '未签';
    else if ($contract_status == 1) $label = '已签';
    else if ($contract_status == 2) $label = '待续签';

    return $label;
}
